The following is a list of key Tools Plus features. Nearly all of them need only one line of code calling a Tools Plus routine. Although some of these features may appear to be simple, their functional equivalent, when programmed in ordinary C or Pascal, often require considerable programming effort and dozens (sometimes hundreds) of lines of code.
Windows
```````
• All 6 standard window types are supported, with a single command and
are referenced by a window number instead of a pointer. Pointers can
be used, if required.
• Any window can be “modal” to prevent the use of menus or clicking
outside the active window.
• Windows with title bars are moved automatically when they dragged by
the user (dragging can be limited to specified boundaries).
• Windows with a “size box” are sized automatically when the user drags
the “size box” (minimum and maximum sizing limits can be specified for
horizontal and/or vertical sizing).
• Windows with an optional “zoom box” in their title bar automatically
zoom between a standard size/position, and a user-controlled
size/position.
• Closing a window automatically releases the memory occupied by its
buttons, scroll bars, editing fields, list boxes, and custom controls.
Buttons
```````
• All 3 types of Macintosh buttons (push button, radio button and check
box) are supported, and are referenced by a button number instead of a
handle.
• Buttons can be enabled or disabled with a simple command.
• Check boxes and radio buttons can be checked or unchecked with a
simple command.
• A push button can be designated to be the default button for a window.
As per Macintosh standards, a black outline is drawn around the
button, and it is automatically selected whenever the user types
Return or Enter.
• Buttons automatically become disabled when their window is inactive.
When the window is reactivated, the buttons assume their normal state.
• Buttons can be displayed using two different fonts on each window,
thereby allowing smaller buttons to be created where space is
restricted. These variations work independently of their window’s
current font settings (unlike ordinary Macintosh buttons).
• When a radio button is double-clicked, your program can optionally
interpret it to mean “select this button and click the default push-
button.”
• Any push button can be “flashed” to appear as though it was clicked.
Scroll Bars
```````````
• Scroll bars are created with a single command and are referenced by a
scroll bar number instead of a handle.
• Scroll bars automatically become hidden when their window is inactive.
When the window is reactivated, the scroll bars assume their normal
state.
• If a window has a right and/or bottom scroll bar, such as the kind
seen on the edges of word processing documents and spreadsheets, these
scroll bars are automatically resized and repositioned when a window’s
size is changed.
Editing Fields
``````````````
• Editing fields are created with a single command and are referenced by
a field number instead of a handle. They are also memory efficient to
allow for numerous fields in low memory situations.
• The Edit menu automatically interacts with the active editing field.
The Undo, Cut, Copy, Paste, and Clear items are automatically
enabled/disabled appropriately (see Menus). Selected text is
automatically copied to and from the clipboard.
• Selected characters in a field automatically become deselected when
the field’s window is inactive. When the window is reactivated,
selection is restored to its normal state.
• Sophisticated text editing allows a selected range of characters to be
extended by a single character, or a word at a time. With Tools Plus,
editing fields behave like miniature word processors.
• Fields can be length-limited to prevent their text from exceeding a
specified number of characters.
• Tab, Return, Enter, Clicking, and Double-Clicking in a field are all
fully supported, as is the selection of font, font size, and styles.
• Editing fields can contain single or multiple lines (as decided upon
by your application).
• Scrolling occurs automatically to ensure that selected characters are
always in view. In single-line fields, words will not disappear when
they exceed the right side of the field -- they will automatically
scroll into view.
• Editing fields can be repositioned on a window to facilitate scrolling
tables.
• Your application can paste text directly into a field under the
application’s control.
• Each editing field can have its own unique font, size, and style.
These variations work independently of the window's current font
settings (unlike regular Macintosh fields).
List Boxes
``````````
• Macintosh “list boxes” are supported simply and effectively.
• List boxes are created with a single command and are referenced by a
list number instead of a handle.
• Lines in a list box can be added or deleted as required, and are
referenced by line number.
• List boxes are automatically disabled (the lines are deselected and
the scroll bar is hidden) when their window is inactive, and are
enabled when the window is activated.
• Various methods are available for selecting lines in a list box, such
as: one line only, multiple lines, select as you drag the mouse, and
many more.
• Your application can determine if a specific line, or any lines are
selected in a list box.
• When you first create a list box, the first selected line will always
be in view (i.e. not scrolled out of view).
• Each list box can have its own unique font, size, and style. These
variations work independently of the window's current font settings
(unlike regular Macintosh list boxes).
Menus
`````
• Menus are created by a single command (one for each item) and are
reference by a menu and item number instead of a handle.
• Menus can be added, changed, deleted, renamed, appended,
enabled/disabled, restyled, prefaced with a symbol or icon, etc.
• Command key equivalents, icons, check marks, other special marks, and
font styling are all supported.
• The “Apple” menu is created with a single command that automatically
gives your application access to desk accessories. This also includes
the apple menu’s “About…” item that names your application.
• When using the Finder (prior to System 7), menus are automatically
enabled/disabled appropriately when a desk accessory is active. Under
System 7, the menu bar is automatically replaced with desk accessory’s
menu bar when the DA is active. These are Macintosh standards that
should be observed by all applications.
• The Edit menu’s Undo, Cut, Copy, Paste, and Clear items are fully
interactive with editing fields and desk accessories, and are
automatically enabled/disabled appropriately.
• The Edit menu’s Undo item automatically changes to “Undo Cut”, “Undo
Copy”, “Undo Paste”, and “Undo Typing” as required. Selecting “Undo…”
changes the item to “Redo…” and automatically performs the correct
action.
Cursors
```````
• The shape of the cursor can be changed with a single command.
• The cursor changes shape automatically depending on where it is on the
screen. For example, the cursor becomes an I-Beam when it enters an
editing field, and an arrow when it is outside the active window.
• A cursor table can be set up to automatically change the cursor’s
shape depending on its position in a window.
• When the wrist watch cursor is displayed, Tools Plus ignores all mouse
clicks and typing except for Command-. (operator halting a lengthy
process.)
• Optionally, your application can permit the clicking of a push button
when the wrist watch cursor is displayed. This is useful if you have
a Cancel button displayed on a window during a lengthy process.
• An animated cursor, like the Finder’s spinning wrist watch, is
supported.
Mouse
`````
• Single, double, and triple clicks, as well and dragging, is
automatically detected and reported.
• A cursor table can be used to detect if the mouse was clicked in
specific areas (such as a picture or icon). This feature effectively
makes any object “click sensitive.”
Desk Accessories
````````````````
• Access to desk accessories is made possible by creating the Apple menu
with a single command.
• The Edit menu’s Undo, Cut, Copy, Paste, and Clear items interact
automatically with desk accessories.
• Text that is cut, copied and pasted between desk accessories and
editing fields is completely automatic.
• Desk accessories are handled automatically by Tools Plus (you don’t
have to program anything to use them).
Dialogs/Alerts
``````````````
• Alerts and modal dialog boxes are supported by standard Pascal
statements, however, they can be easily simulated by using Tools Plus
windows or Tools Plus’s Dynamic Alerts.
Dynamic Alerts
``````````````
• Dynamic alerts are alert boxes that are automatically sized in
relation to the alert’s contents -- they grow as big as needed to
always appear aesthetically pleasing. It’s like having hundreds of
customized alert boxes available at your disposal.
• Dynamic alert boxes are created with a single command, and do not
require the use of resources.
• An icon can be optionally displayed, and the alert can optionally beep
when displayed.
• You can use various combinations of Yes, No, OK, and Cancel buttons,
or define your own combinations. Optionally, a default button can be
specified.
• Dynamic alert boxes are always centered perfectly on the main monitor,
regardless of monitor’s size or the number of monitor used.
Custom Controls
```````````````
• Advanced programmers can develop their own custom controls and still
be informed of events pertaining to those controls.
System Polling
``````````````
• A single routine keeps all the automatic processes running smoothly,
and tells your application if something has occurred, such as the user
selecting a menu or clicking a button.
• Events are reported in a simple, concise, and ready to use manner such
as “operator clicked Button 3 on Window 1” instead of being cryptic
and requiring decoding of messages.
• Many events can be ignored if your application doesn’t care about
them, such as when the user drags or re-sizes a window.
• Events that are not processed by Tools Plus are handed to your
application, which can either ignore them or process them as required.
This allows advanced programmers to implement their own special
features.
Extras
``````
• Zoom lines, such as those displayed by the Finder when a document is
opened, are available to make objects appear to zoom out from the
screen or zoom back down again.
• A variety of icon types (ICON, icl8, icl4, cicn, and ICN#) can be
drawn with a single command. Icons can be displayed as selected/
unselected and enabled/disabled. Tools Plus is sensitive to monitor
settings (number of colors) and displays the best available icon.
• The standard Macintosh thermometer can be drawn with a single command.
Tools Plus is sensitive to monitor settings (number of colors), as
well as whether you are using System 7 or not, and draws a thermometer
that is identical to the Finder’s.
Monitors
````````
• Color, gray-scale and monochrome (black and white) monitors are
supported, as are multiple-monitor setups.
• Tools Plus includes routines to your application when drawing by
detecting [i] the number of available colors, [ii] whether the monitor
is set to gray-scale, color, or black and white, and [iii] multiple-
monitor setups.
Memory
``````
• Memory fragmentation due to opening and closing windows is eliminated,
regardless of the number of windows your application uses, or has open
at the same time.
Systems
```````
• Tools Plus is compatible with Systems 6 (under Finder and MultiFinder)
and System 7. (Note: Registered users will receive a special version
of Tools Plus that is compatible with System 4.2 or higher).